Register selection circuitry receiving select signals from test interfaces

ABSTRACT

A TAP linking module ( 21, 51 ) permits plural TAPs (TAPs  1 - 4 ) to be controlled and accessed from a test bus ( 13 ) via a single TAP interface ( 20 ).

This application is a divisional of prior application Ser. No.12/560,717, filed Sep. 16, 2009, now U.S. Pat. No. 7,765,447, issuedJul. 27, 2010;

Which was a divisional of prior application Ser. No. 11/936,884, filedNov. 8, 2007, now U.S. Pat. No. 7,610,536, granted Oct. 27, 2009; Whichwas a divisional of prior application Ser. No. 10/962,921, filed Oct.12, 2004, now U.S. Pat. No. 7,310,756, granted Dec. 18, 2007; Which wasa divisional of application Ser. No. 09/938,254, filed Aug. 22, 2001,now U.S. Pat. No. 6,804,725, granted Oct. 12, 2004; Which was adivisional of application Ser. No. 09/458,313, filed Dec. 10, 1999, nowU.S. Pat. No. 6,324,614, granted Nov. 27, 2001; Which was a divisionalof application Ser. No. 08/918,872, filed Aug. 26, 1997, now U.S. Pat.No. 6,073,254, granted Jun. 6, 2000; Which claimed priority fromProvisional Application No. 60/024,884, filed Aug. 30, 1996.

FIELD OF THE INVENTION

The invention relates generally to evaluation of the functionality ofelectronic integrated circuits and, more particularly, to improvementsin the control and design of test access ports (TAPs) within integratedcircuits.

BACKGROUND OF THE INVENTION

IS The IEEE Standard Test Access Port and Boundary Scan Architecture(IEEE STD 1149.1) is a well known IEEE test standard that provides scanaccess to scan registers within integrated circuits (ICs), and is herebyincorporated herein by reference. FIG. 12 shows a schematic of the1149.1 test logic. The test logic comprises a TAP controller 120, aninstruction register, and plural test data registers. The TAP controlleris connected to test mode select (TMS), test clock (TCK), and test reset(TRST*) pins. The TAP controller responds to control input on TCK andTMS to scan data through either the instruction or data registers, viathe test data input (TDI) and test data output (TDO) pins. TRST* is anoptional pin used to reset or initialize the test logic, i.e. TAPcontroller, instruction register, and data registers. The inputs to theinstruction and data registers are both directly connected to the TDIinput pin. The output of the instruction and data registers aremultiplexed to the TDO pin. During instruction register scans, the TAPcontroller causes the multiplexer 121 to output the instruction registeron TDO. During data register scans the TAP controller causes themultiplexer 121 to output the data register on TDO. The instructionscanned into the instruction register selects which one of the pluraldata registers will be scanned during a subsequent data register scanoperation. When the TAP controller is scanning data through theinstruction or data registers, it outputs control to enable the outputstage to output data from the TDO pin, otherwise the TAP controllerdisables the output stage.

FIG. 13 shows how four ICs, each IC including the TAP controller,instruction register, and data registers of FIG. 12, would be connectedat the board level for serial data transfer (TDI, TDO) and parallelcontrol (TMS, TCK).

FIG. 14 shows the state diagram operation of the FIG. 12 TAP controller.The TAP controller is clocked by TCK and responds to TMS input totransition between its states. The logic state of TMS is shown besidethe paths connecting the states of FIG. 14. The Test Logic Reset stateis where the TAP controller goes to in response to a power up resetsignal, a low on TRST*, or an appropriate TMS input sequence. From TestLogic Reset the TAP controller can transition to the Run Test/Idlestate. From the Run Test/Idle state the TAP controller can transition tothe Select DR Scan state. From the Select DR Scan state, the TAPcontroller can transition into a data register scan operation or to theSelect IR scan state. If the transition is to the data register scanoperation, the TAP controller transitions through a Capture DR state toload parallel data into a selected data register, then shifts theselected data register from TDI to TDO during the Shift DR state. Thedata register shift operation can be paused by transitioning to thePause DR state via the Exit1 DR state, and resumed by returning to theShift DR state via the Exit2 DR state. At the end of the data registershift operation, the TAP controller transitions through the Update DRstate to update (output) new parallel data from the data register andthereby complete the data register scan operation. From the Update DRstate, the TAP controller can transition to the Run Test/Idle state orto the Select DR Scan state.

If the Select IR Scan state is entered from the Select DR Scan state,the TAP controller can transition to the Test Logic Reset state ortransition into an instruction register scan operation. If thetransition is to an instruction register scan operation, Capture IR,Shift IR, optional Pause IR, and Update IR states are providedanalogously to the states of the data register scan operation. Nextstate transitions from the Update IR state can be either the RunTest/Idle state or Select DR Scan state. If the TAP controllertransitions from the Select IR Scan state into the Test Logic Resetstate, the TAP controller will output a reset signal to reset orinitialize the instruction and data registers.

FIG. 15 shows that state transitions of the FIG. 12 TAP controller occuron the rising edge of the TCK and that actions can occur on either therising or falling edge of TCK while the TAP controller is in a givenstate.

The term TAP referred to hereafter will be understood to comprise a TAPcontroller, an instruction register, test data registers, and TDO muxingof the general tyme shown in FIG. 12, but differing from FIG. 12according to novel features of the present invention described withparticularity herein. The 1149.1 standard was developed with theunderstanding that there would be only one TAP per IC. Today, ICs maycontain multiple TAPs. The reason for this is that ICs are beingdesigned using embedded megamodule cores which contain their own TAPs. Amegamodule is a complete circuit function, such as a DSP, that has itsown TAP and can be used as a subcircuit within an IC or as a standaloneIC. An IC that contains multiple megamodules therefore has multipleTAPs.

In example FIG. 1, an IC 10 containing four TAPs is shown. TAP1 is shownconnected to the boundary scan register (BSR) to provide the 1149.1standard's conventional board level interconnect test capability. TAP1can also be connected to other circuitry within tithe IC that existsoutside the megamodules. TAP2 is an integral part of megamodule MM1.Likewise TAP3 and TAP4 are integral parts of megamodules MM2 and MM3.Each TAP of FIG. 1 includes a conventional 1149.1 TAP interface 11 fortransfer of control (TMS, TCK and TRST) and data (TDI and TDO) signals.However, the 1149.1 standard is designed for only one TAP to be includedinside an IC, and for the 1149.1 TAP interface of this one TAP to beaccessible externally of the IC at terminals (or pins) of the IC forconnection via 1149.1 test bus 13 to ail external test controller.

It is therefore desirable to provide an architecture wherein all TAPs ofan IC can be controlled and accessed from an external 1149.1 test busvia a single externally accessible 1149.1 TAP interface.

The present invention provides an architecture which permits plural TAPsto be selectively accessed and controlled from a single 1149.1 TAPinterface. The invention further provides access to a single registervia any selected one of a plurality of TAPs. The invention furtherprovides a TAP controller whose state machine control can be selectivelyoverridden by an externally generated override signal which drives thestate machine synchronously to a desired state. The invention furtherprovides a TAP instruction which is decodable to select an external datapath. Also according to the invention, sequential access of TAPs from asingle 1149.1 TAP interface permits test operations associated withdifferent TAPs to timewise overlap each other.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a test controller connected to an integrated circuithaving multiple TAPs therein;

FIG. 2 illustrates an integrated circuit having multiple TAPs thereinaccording to the present invention;

FIG. 3 illustrates the TAP Linking Module of FIG. 2 in greater detail;

FIG. 4 illustrates the TLM TAP Controller of FIG. 3 in greater detail;

FIG. 5 illustrates another exemplary integrated circuit having multipleTAPs therein according to the present invention;

FIG. 6 illustrates in greater detail the TAP Linking Module of FIG. 5;

FIG. 7 illustrates TAP4 of FIGS. 2 and 5 in greater detail;

FIG. 8 illustrates multiplexing circuitry associated with the scan inputof TAP4 of FIG. 5;

FIG. 9 shows a state diagram associated with the TAP controller of FIG.7;

FIG. 9A illustrates in more detail a portion of the TAP controller ofFIG. 7;

FIGS. 10-11 are timing diagrams which illustrate examples of how theTAPs of FIGS. 2 and 5 can be synchronously linked to and unlinked fromthe test bus of FIGS. 2 and 5;

FIG. 12 illustrates the architecture of a conventional 1149.1 TAP;

FIG. 13 illustrates a plurality of integrated circuits connected in aconventional manner for 1149.1 testing;

FIG. 14 is a state diagram associated with the conventional TAPcontroller of FIG. 12;

FIG. 15 is a timing diagram which illustrates when state changes andother actions can occur in the conventional TAP architecture of FIG. 12;

FIG. 16 illustrates in greater detail a portion of prior art FIG. 12;

FIG. 16A illustrates conventional instructions associated with thearchitecture of FIG. 16;

FIG. 17 illustrates in greater detail a portion of TAP4 from FIG. 7; and

FIG. 17A illustrates a set of instruction pairs associated with thearchitecture of FIG. 17.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 2 shows an exemplary IC according to the invention, including a TAPLinking Module (TLM) 21 which is coupled to each TAP via select (SEL1-4)and enable (EN1-4) signals, and to an externally accessible 1149.1interface 20 including TDI, TCK, TMS, TRST*, and TDO pins. The TAPs areconnected to the TCK and TMS pins and to the Reset output from the TLM.The SEL1-4 signals are outputs from the TAPs to the TLM, and the EN1-4signals are output In from the TLM to the TAPs. Each TAP's select signalis output in response to a special instruction scanned into itsinstruction register. The instruction sets the select output from theTAP high, which causes the TLM to be selected as the data register scanpath between the IC's TDI and TDO pins 26 and 27. A conventional dataregister scan operation is used to capture data into and then shift datathrough the TLMI from TDI to TDO. During such a TLM scan operation, theTLM Select output signal from TLM makes a connection from the TLM's TDOoutput 25 to the IC's TDO output 27, via the multiplexer 3SMUX. Alsoduring a TLM scan operation, an Enable output from the currently enabledTAP (one of Enable 1,2,3,4) enables a TDO output buffer (in 3SMUX) viaOR gate 29. This is analogous to enabling the output stage in FIG. 12.Following the TLM scan operation, TLM outputs EN1-4 signals to the TAPsand TAPSEL0-1 signals to the multiplexer 23 to establish a TAP linkconfiguration. The data scanned into the TLM selects one of the fouroutputs EN1-4 to be active to enable the corresponding one of the TAPs.Also the TAPSEL0-1 and TLM-Select signals will cause the TDO of theenabled TAP (one of TDO1-TDO4) to be connected to the IC's TDO pin 27.

From this description it is seen that the TLM 21 operates to selectivelyenable one of the TAPs to be accessed via the IC's 1149.1 test pins. Thecircuit coupled to the enabled TAP (BSR, MM1, MM2, MM3) can therefore beaccessed directly from the 1149.1 test pins. A presently enabled TAP canselect and scan the TLM 21 which in turn will select and enable anotherTAP. When another TAP is enabled, the previously enabled TAP is disabledand remains so until it is enabled again by the TLM. The EN1-4 inputs tothe TAPs can enable or disable the TAPs in many ways. For example, theEN1-4 inputs could simply be used to gate TCK on and off. Alternativelyand preferably the EN1-4 inputs could be included in the designs of theTAP controller state machines to keep the TAP in its Run-Test/Idle statewhen disabled. This preferred method of using the EN1-4 signals isdescribed below in connection with FIGS. 9 and 9A.

FIG. 3 shows one circuit example implementation of TLM 21. The circuitcomprises a TLM TAP controller 31, a 2-bit shift register, decode logic,and a link update register. The TLM TAP controller 31 is always enabledto follow the test bus protocol on the TCK and TMS pins, i.e. the TLMTAP controller is always synchronized to the state of the 1149.1 testbus 13 connected to the TCK and TMS pins. However, the outputs of theTLM TAP controller (i.e. TLM-ShiftDR, TLM-ClockDR, TLM-UpdateDR, andTLM-Select) are only enabled during a data register scan operation andonly if the select input (SEL1-4) from the currently enabled TAP ishigh.

If the currently enabled TAP inputs a high select input at one ofSEL1-4, the TLM TAP controller 31 will respond to TCK and TMS to outputcontrol on TLM-ShiftDR, TLM-ClockDR, and TLM-Select to capture and shiftdata through the 2-bit shift register, and then output TLM-UpdateDRcontrol to update the decoded output from the shift register to the linkupdate register. This capture, shift, and update operation is a wellknown TAP controller scan operation taught in IEEE STD 1149.1 and shownin FIGS. 5-1 and 5-7 thereof. During this scan operation the TLM TAPcontroller outputs TLM-Select control to couple the TDO output of TLM 21to the IC's TDO pin 27, via the 3SMUX of FIG. 2. Also during the scanoperation, the output of the 3SMUX is activated by the enabled TAP (oneof Enable1-4) to output data on the IC's TDO pin 27. The data from thelink update register is output as EN1-4 and TAPSEL0-1 to enable thedesired TAP and its TDO connection (one of TDO1-4) to the IC's TDO pin27. The active one of enable signals EN1-4 qualifies a corresponding oneof select signals SEL1-4 at one of AND gates 33-36, whereby thecorresponding one of SEL1-4 can be input to the TLM TAP controller viathe OR gate 37. Select signals from disabled TAPs are gated off by theAND gates associated with the inactive ones of enable signals EN1-4. Thedecode from the 2-bit shift register allows each of TAP1, TAP2, TAP3, orTAP4 to be individually selected, accessed, controlled and scanned fromthe 1149.1 pins at 20.

Exemplary FIG. 4 shows a detail view of the TLM TAP controller 31. TheTLM TAP controller comprises the conventional 1149.1 TAP controller 120of FIG. 12 and gating to enable or disable the TLM-Select. TLM-ClockDR,TLM-ShiftDR, and TLM-UpdateDR outputs of the TLM TAP controller. Afterpower up reset, the 1149.1 TAP controller 120 is always synchronized tothe state of the 1149.1 test bus. Note that the output signal 39 of theFIG. 3 AND gate 38 is connected to 1149.1 TAP controller 120 at inputnode 123 thereof where the TRST* signal would conventionally beconnected (contrast FIG. 12). The 1149.1 TAP controller's conventionaloutputs are gated off by the OR gates 41 and 43, and AND gates 45 and 47so that the state of the TLM's shift register and link update registerare not disturbed during data register scans occurring while the SELinput from OR gate 37 (FIG. 3) is low. TLM-Select and TLM-ClockDR arehigh while SEL is low, and TLM-UpdateDR and TLM-ShiftDR are low whileSEL is low. These output conditions match what the conventional 1149.1TAP controller 120 would output on the analogous signal types (i.e.Select, ClockDR, ShiftDR, UpdateDR) when data register scans are notbeing performed. When the SEL input is high, the gated outputs from theTLM TAP controller follow the conventional 1149.1 TAP controlleroutputs. The Reset output from the TLM TAP controller is always enabledto output the conventional 1149.1 Reset signal to the TAPs within theIC. The TLM TAP controller can be viewed as the master TAP controller inthe IC since it has reset authority over all other TAPs.

When the TLM TAP controller is reset (i.e. forced to the Test LogicReset state of FIG. 14) by the power up reset circuit, or by activationof the TRST* pin, or by an appropriate TMS sequence, it outputs a Resetsignal. Either the power-up reset circuit or the TRST* signal can drivethe output 39 of AND gate 38 (see FIG. 3) low and thereby force the TestLogic Reset state. An appropriate sequende of logic 1's on TMS can alsoput the TLM TAP controller in the Test Logic Reset state (see FIG. 14).Internal to the TLM 21, the Reset signal loads the link update registerwith EN1 and appropriate TAPSEL0-1 control (see FIG. 3) to enable andlink TAP1 between the TDI pin 26 and 3SMUX (see FIG. 2). TLM Select isdriven high when controller 31 is in the Test Logic Reset state becausethe Select output from the conventional 1149.1 TAP controller 120 goeshigh in the Test Logic Reset state. When TLM Select is high, the outputof MUX 23 is connected to TDO pin 27 via 3SMUX. By initially selectingTAP1 to be active the IC appears to test bus 13 to be operating as woulda one-TAP IC described in the 1149.1 standard. Following the initialselection of TAP1, the TLM can be selected by TAP1 and then scanned toselect any other TAP in the IC to become the active TAP. External to theTLM 21, the Reset signal initializes all the TAPs to the Test LogicReset state of FIG. 14.

FIG. 5 shows another example IC according to the invention, including aTAP Linking Module (TLM 51) which is coupled to TAPs, 1149.1 test pins,and multiplexers similarly to FIG. 2. Additionally, the TLM 51 iscoupled to the TAPs 2-4 via Link Control (LC2-4) signals. The operationof TLM 51 is similar to TLM 21 of FIG. 2, except: (1) the TLM 51 can beloaded with data to enable more than XS one TAP at a time in the IC; and(2) the TLM 51 outputs link control to the TAPs to allow linking theTAPs together in different arrangements within a single scan pathbetween the TDI 26 and TDO 27 pins. The linking and enabling of multipleselected TAPs permits the circuits associated with the TAPs (BSR, MM1,MM2, MM3) to be accessed at the same time.

In FIG. 5 it is seen that TAPs 2-4 have multiple scan inputs. Inparticular, the TAPs 2-4 have scan inputs as follows: TAP2 has TDI pin26 and TDO1; TAP3 has TDI pin 26, TDO1 and TDO2; and TAP4 has TDI pin26. TDO1, TDO2 and TDO3. This is to allow for serially concatenatingenabled TAPs together in different ways. For example TAP1 and TAP4 canbe enabled at the same time and linked together into the serial pathbetween TDI 26 and TDO 27. In this arrangement, TAP1 and TAP4 canparticipate together during test while TAP2 and TAP3 are disabled. TheLink Control signals LC2-4 to TAPs 2-4 select the appropriate scan inputto the TAPs to make a particular serial link between TAPs. TLM 51 canprovide the following TAP linking arrangements between TDI 26 and TDO27:

TAP1 Links: TAP1, TAP1&2, TAP1&3, TAP1&4, TAP1,2&3, TAP1,2,&4,TAP1,2,3&4, TAP1,3&4

TAP2 Links: TAP2, TAP2&3, TAP2&4, TAP2,3&4

TAP3 Links: TAP3, TAP3&4

TAP4 Links: TAP4

The more scan inputs per TAP, the more possible linking arrangements.For example, TAP3 could also have TDO4 as a scan input in addition tothose shown in FIG. 5. The multiplexing circuitry associated with themultiple scan inputs of the FIG. 5 TAPs is not shown in FIG. 5 forclarity, but an example is described below relative to FIG. 8.

FIG. 6 shows one circuit example implementation of the TLM 51. The TLM51 is similar to the TLM 21 of FIG. 3 except: (1) the shift register islonger due to the additional decode required for linking multiple TAPs;(2) the decode circuit and link update register provide additionaloutput for link controls LC2-4; and (3) select inputs from all enabledand linked TAPs will be qualified by the corresponding active enablesignals for input to the TLM TAP controller 31 via the AND and OR gates33-37.

Example FIG. 7 shows a portion of the design of TAP4 of FIG. 2. Theother TAPs of FIG. 2 can be analogously designed. The TAP controller 71includes an input for the EN4 signal from the TLM 21, which is used toenable or disable the TAP controller 71. Also. TAP controller 71 has aninput 73 connected to the Reset output from the TLM 21 to provide globalreset of all TAPs. The TAP4 instruction register decode includes theSEL4 output to the TLM 21. Also, an instruction is provided to allowsetting the SEL4 output high to enable scan access of the TLM 21.

Example FIG. 8 shows TDI pin 26, TDO1, TDO2 and TDO3 multiplexed ontothe scan input of TAP4 to support the design of FIG. 5. The scan inputsof the other TAPs of FIG. 5 are multiplexed analogously. In thisexample, a 4:1 multiplexer 81 is connected to the TLM 51 via two linkcontrol signals LC4A and LC4B to control which scan input (TDI pin 26,TDO1, TDO2, or TDO3) is connected to the TAP's TDI input.

FIG. 9 shows an example TAP controller design to support enabling anddisabling TAPs 1-4 of FIGS. 2 and 5 using the EN1-4 outputs from eitherTLM 21 or TLM 51. The TAP controller state diagram of FIG. 9 correspondsto the TAP controller 71 of FIG. 7, and includes a Run Test/Idle statewherein the enable signal (in this case EN4) is evaluated along with theTMS signal to determine the next state transition. In the Run Test/Idlestate of FIG. 9, the next state will always be the Run Test/Idle stateif EN4 is low, regardless of the logic level on THIS. If EN4 is high,the next state from Run Test/Idle is determined by the logic level onTMS. In the UpdateDR state the EN4 signal is evaluated along with theTMS signal to determine the next state transition. In the UpdateDR stateof FIG. 9, the next state will always be Run Test/Idle if EN4 is low,regardless of the logic level on TMS. If EN4 is high, the next statefrom UpdateDR is determined by the logic level on TMS. Although FIG. 9illustrates an example state diagram for the TAP controller of TAP4,TAPs 1-3 can be analogously designed.

The Run Test/Idle state of FIG. 9 provides, in addition to itsconventional run test or idle functions, a stable state for the TAPcontroller to assume and remain in when it is not enabled to be linkedto the 1149.1 test bus pins. Using the Run Test/Idle state as the stablestate for unlink is advantageous because one well known method ofinitialing test operations associated with a given instruction is totransition the TAP into Run Test/Idle with the given instruction in theinstruction register. An example of this advantage of using RunTest/Idle as the stable state for unlink is described hereinbelow withrespect to the RunBist instruction.

The UpdateDR state of FIG. 9 provides, in addition to its conventionaldata update function, a link change state where a presently enabled TAPcontroller gets disabled and goes to the Run Test/Idle state while a newTAP controller becomes enabled to follow the ICs test bus pins.

For example, in FIG. 2 and after a Reset, the TLM TAP controller 31 andall the TAP controllers of TAPs1-4 will be in the Test Logic Reset stateof FIG. 9. The IC's 1149.1 test bus pins will also be in Test LogicReset state as driven by the external test controller. When the test busmoves from Test Logic Reset to Run Test/Idle, all the TAP controllers ofTAPs1-4 will follow the test bus. However when the test bus moves fromRun Test/Idle to Select DR Scan, only the TAP controller of TAP1 (TAP1is enabled at reset to be the linked TAP as previously described) willfollow. The other TAP controllers of TAPs2-4 will remain in RunTest/Idle because their enable inputs EN2-4 are low. TAP1 will continuefollowing the test bus until another TAP is enabled by scanning the TLM21. When the TLM 21 is scanned, the new enable and TAPSEL0,1 controlwill be updated from the TLM 21. For example if TAP2 is the new TAP tobe selected, the EN1 for TAP1 will go low and the EN2 for TAP2 will gohigh in the UpdateDR state. Also, the TAPSEL0.1 outputs will change tooutput TDO2 from multiplexer 23. When the enable outputs from the TLM 21change, the TAP controller of TAP1 will see a low on EN1 and it will beforced to transition from the UpdateDR state to the Run Test/Idleregardless of the logic level on TMS. When the TAP controller of TAP2sees a high on EN2, it will be enabled to either (1) transition from theRun Test/Idle state to the Select DR Scan state if TMS is high, or (2)remain in the Run Test/Idle state if TMS is low. So while a TAP beingunlinked is forced to transition from the UpdateDR state to the RunTest/Idle state regardless of the logic level on TMS, a TAP being linkedcan either stay in the Run Test/Idle state if the next state of the testbus is the Run Test/Idle state (TMS=0), or transition to the Select DRScan state if the next state of the test bus is the Select DR Scan state(TMS=1).

FIG. 9A shows an example of how TAP controller 71 of FIG. 7 can use theEN4 signal to realize the state diagram of FIG. 9. The TAP state machinecircuit 97 of FIG. 9A can be the conventional 1149.1 TAP state machinethat implements the state diagram of FIG. 14. However, the input 95where TMS is conventionally applied to the state machine is connected inFIG. 9A to the output of a multiplexer 90 whose data inputs are TMS andthe output 91 of an AND gate 93 whose inputs are TMS and EN4. Themultiplexer 90 is controlled to select AND gate output 91 when thedecoded state of the TAP state machine is Update DR or Run Test/Idle,and to otherwise select TMS.

Apart from the improvements associated with FIGS. 7-9A (and FIG. 17below), TAPs1-4 of FIGS. 2 and 5 can otherwise conform to theconventional 1149.1 TAP design of FIG. 12. In fact, the TAP controller71 of FIGS. 7-9A will operate as conventional 1149.1 TAP controller 120of FIG. 12 if EN4 is tied high. Note that input 73 of TAP controller 71corresponds to the TRST* input of conventional TAP controller 120 (seeFIG. 12).

The examples in FIGS. 10 and 11 illustrate two ways a TAP can besynchronously linked to the test bus 13. The FIG. 10 example shows how aTAP is synchronously linked to the test bus 13 when the test bustransitions from UpdateDR to Run Test/Idle state. The FIG. 11 exampleshows how a TAP is synchronously linked to the test bus 13 when the testbus transitions from UpdateDR to Select DR Scan.

FIG. 10 shows a timing example wherein unlinked TAP2 becomes linked andlinked TAP1 becomes unlinked while the test bus transitions from theUpdateDR state to the Run Test/Idle state to the Select DR Scan state.The link change occurs on the falling edge of the TCK in the UpdateDRstate with ENI of TAP1 going low and EN2 of TAP 2 going high. On thenext rising TCK edge, the test bus transitions into the Run Test/Idlestate, TAP1 (now unlinked) is forced to transition to Run Test/Idle (seeFIG. 9), and TAP2 (now linked) remains in Run Test/Idle (see FIG. 9). Onthe next rising TCK edge, the test bus transitions to the Select DR-Scanstate, TAP2 transitions with the test bus to the Select DR Scan state,and TAP1 remains in the Run Test/Idle state.

FIG. 11 shows a timing example wherein unlinked TAP2 becomes linked andlinked TAP1 becomes unlinked while the test bus transitions from theUpdateDR state directly to the Select DR Scan state. The link changeoccurs on the falling edge of the TCK in the UpdateDR state with EN1 ofTAP1 going low and EN2 of TAP2 going high. On the next rising TCK edge,the test bus transitions into the Select DR Scan state, TAP1 is forcedto transition to Run Test/Idle (see FIG. 9), and TAP2 transitions withthe test bus from Run Test/Idle to the Select DR Scan state (see FIG.9). On the next rising TCK edge, the test bus transitions to the SelectIR Scan state, TAP2 transitions with the test bus to the Select IR Scanstate, and TAP1 remains in the Run Test/Idle state.

After completing all TAP accesses, the test bus can transition to theTest Logic Reset state. TAP(s) currently linked to the test bus willfollow it into the Test Logic Reset state. TAP(s) not linked to the testbus (i.e TAPs unlinked and left in Run Test/Idle state) will be forcedto the Test Logic Reset state by the Reset output from the TLM TAPController 31 (FIGS. 3 and 4) which always follows the test bustransitions and will output the Reset signal to all TAPs (see FIGS. 2-5)when the test bus enters the Test Logic Reset state.

To provide flexibility in using TLM 21 or TLM 51 to enable and disableTAPs within an IC, the TLMs should preferably be selectable during someor all of the instructions defined for each TAP. For example. the 1149.1standard defines the following list of required and optional TAPinstructions: Bypass, Extest, Sample/Preload, Intest, RunBist, Clamp,Highz, Idcode, and Usercode. During Bypass, Sample/Preload, Idcode, andUsercode instructions, the functional circuit associated with the TAPremains in its normal operation mode. During Extest, Intest, RunBist,Clamp, and Highz instructions, the functional circuit associated withthe TAP is disabled from its normal operation mode. Users of the 1149.1standard may define and add instructions to achieve customized testoperations, such as internal scan, emulation, or on-line BIST.

The flexibility of using the TLMs is enhanced if each of theaforementioned conventional instructions is replaced by a pair ofinstructions according to the present invention, which pair ofinstructions determine whether or not the TLM is selected. For example,the conventional Extest instruction selects the boundary scan registerto scan data between the IC's TDI and TDO pins, but does not at allcomprehend the select output SEL4 shown in FIG. 7. Accordingly, oneinstruction of the Extest replacement pair would (1) select the boundaryscan register like the conventional Extest instruction, (2) inactivatethe SEL4 output to deselect the TLM, and (3) otherwise affect the IC thesame as the conventional Extest instruction. Another instruction of theExtest replacement pair would (1) deselect the boundary scan register,(2) activate SEL4 to select TLM for scanning, and (3) otherwise affectthe IC the same as the conventional Extest instruction.

One advantage is that TLM can be operated to disable one TAP and enableanother while maintaining the effect of the current instruction on thefunctional circuit associated with the TAP being disabled. For example,in FIGS. 2 and 5 it may be desirable to disable the IC's I/O whileperforming a test or emulation operation on MM1. To do this, TAP1 wouldbe enabled and scanned with a Highz instruction version that selects theTLM and deselects the bypass register but otherwise affects the IC thesame as the conventional Highz instruction, which will disable the IC'sI/O. Next, a data register scan to the TLM disables scan access to TAP1and enables scan access to TAP2 to enable the desired test or emulationoperation on MM1. While test or emulation occurs on MM1, the Highzinstruction version, left in effect in TAP1, keeps the IC's I/Odisabled. Other 1149.1 instructions or user defined instructions can besimilarly replaced by a first instruction that deselects TLM and selectsa data register within the TAP and a second instruction that deselectsthe In TAP data register and selects the external TLM, both replacementinstructions otherwise affecting the IC the same as the correspondingconventional instruction.

Example FIGS. 16-17A illustrate the above-described replacement of agiven conventional instruction with a pair of replacement instructionswhich select or deselect TLM. FIG. 16 illustrates various functionswhich are controlled by the instruction register in the conventionalIEEE STD 1149.1 architecture of FIG. 12. In FIG. 16, an instruction isshifted into the shift register 162, and shift register bits SRB3, SRB2,and SRB1 (i.e. the instruction) are then decoded by decode logic 165.The output of the decode logic is loaded into an update register 167whose outputs control various functions in the test architecture. In theFIG. 16 example, six signals are output from the update register tocontrol the various functions. Signal BR enables the bypass register toscan data therethrough signal BSR enables the boundary scan register(BSR) to scan data therethrough, the MODE signal applied to BSRdetermines whether BSR is in a test mode for handling test data or atransparent mode for passing normal functional signals therethrough, theHIGHZ signal can disable the output buffers 163 of the integratedcircuit or core megamodule, the BENA signal is a Bist enable signal forenabling Bist operations, and the REGSEL signal controls multiplexer 161to determine which data register (in this example the bypass register orBSR) will be connected to the input of multiplexer 121, which in turndetermines whether a data register or the instruction register will bescanned.

FIG. 16A shows conventional instructions for use with the conventionalarchitecture of FIG. 16. Each of the instructions is decoded to producethe indicated logic levels on the six control signals of FIG. 16. Forexample, the HighZ instruction enables the bypass register for scanning(BR=1) disables BSR for scanning (signal BSR=0), places BSR in thetransparent mode (MODE=0), disables the output buffers 163 (HIGHZ=1),disables Bist (BENA=0), and selects the bypass register at multiplexer161 (REGSEL=0). As another example, the conventional Extest instructiondisables the bypass register for scanning (BR=0), enables BSR forscanning (signal BSR=1), places BSR in the test mode (MODE=1), enablesthe output buffers 163 (HIGHZ=0), disables Bist (BENA=0), and selectsBSR at multiplexer 161 (REGSEL=1).

Exemplary FIG. 17 illustrates in more detail the instruction registercontrol within TAP4 of FIG. 7 according to the present invention. Theremaining TAPs 1-3 can be designed analogously. The update register 175of FIG. 17 outputs the six control signals of FIG. 16 plus the signalSEL4 to select TLM. The shift register 171 of FIG. 17 has an additionalshift register bit SRB4 because the six example instructions from FIG.16A require twelve replacement instructions according to the presentinvention as shown in FIG. 17A. The additional bit SRB4 is thus neededto uniquely encode the twelve instructions of FIG. 17A.

Referring to FIG. 17A the replacement pair for the conventional HighZinstruction is seen at the third and ninth entries of the table of FIG.17A. More specifically, the HighZ instruction with TLM not selected isdecoded at 173 (see FIG. 17) to output the same logic levels as theconventional HighZ instruction and additionally to output a logic 0 onthe SEL4 output in order to ensure that TLM is not selected. The decodedoutput of the HighZ instruction with TLM selected is the same as thedecoded output of the HighZ instruction with TLM not selected, exceptBR=0 and SEL4=1 to ensure that TLM is selected and the bypass registeris deselected. Similarly, the decoded output of the Extest instructionwith TLM not selected includes the same six logic levels as theconventional Extest instruction, plus a logic 0 on SEL4 to ensure thatTLM is not selected. The decoded output of the Extest instruction withTLM selected is the same as the decoded output of Extest with TLM notselected, except the BSR signal is at logic 0 to deselect BSR, andSEL4=1 to select TLM. Thus, the above-described instruction pairs andthe other instruction pairs shown in FIG. 17A permit selection of eitherTLM or an internal data register (such as the bypass register or BSR)for scanning, but both instructions of each instruction pair otherwiseprovide the identical control signals provided by the correspondingconventional instructions illustrated in FIG. 16A. Thus, the instructionpairs of FIG. 17A permit TAP4 to select for scanning either the externaldata path in TLM, or an internal data register such as the by-passregister or BSR, while otherwise outputting control signals which areidentical to those associated with the corresponding conventionalinstructions of FIG. 16A.

Execution of RunBist operations is improved by using the RunBistreplacement instructions. The conventional RunBist instruction initiatesa Bist (Built-In-Self-Test) operation when the TAP enters Run Test/Idle,but the conventional RunBist instruction selects a data register insidethe TAP (boundary scan register in FIGS. 16-17) for scanning A first TAPcan be enabled and scanned with the replacement RunBist instruction thatselects the TLM and deselects the boundary scan register. After scanningthe TLM to enable a second TAP, the first TAP gets disabled andautomatically transitions into the Run Test/Idle state (FIGS. 9-11)where the replacement RunBist instruction takes effect to initiate theBist operation. While the first TAP is executing the Bist operation inRun Test/Idle, the second TAP can be scanned with the aforementionedreplacement RunBist instruction that selects the TLM and deselects theboundary scan register. Scanning the TLM to enable a third TAP willforce the second TAP to the Run Test/Idle state where the replacementRunBist instruction takes effect to initiate a Bist operation. Thisscheme can continue to sequentially select TAPs and initiate Bisttesting in as many TAPs as desired. Thus, BIST operations in theselected megamodules can occur in time overlapping fashion rather thanpurely sequentially. This of course provides time savings.

To obtain the Bist result from BSR of FIG. 17, TAP4 can be enabled viaTLM, and then loaded with the replacement RunBist instruction thatdeselects TLM and selects BSR. With BSR selected, the Bist result can bescanned out of BSR by a data register scan operation.

The architecture of FIG. 5 can also execute the above procedure toinitiate multiple RunBist operations, or it could simply enable/link allor selected ones of the TAPs together, scan in a conventional RunBistinstruction to each, then enter Run Test/Idle to concurrently executethe RunBist instructions. After linking a first group of TAPs togetherin FIG. 5, each of them can be loaded with the replacement RunBistinstruction that selects TLM 51, and thereafter the first group can beunlinked via TLM 51 so the first group can execute Bist operations inRun Test/Idle while TLM 51 is In linking a second group of TAPs torepeat the same procedure. So while the FIG. 2 architecture allows forenabling a TAP, loading RunBist, and then disabling the TAP to effectBist operations in a megamodule, the FIG. 5 architecture allowsenabling/linking a group of TAPs, loading RunBist, and thendisabling/unlinking the group of TAPs to effect concurrent Bistoperations in a group of megamodules. The capability of sequentiallyselecting groups of TAPs so that each group performs Bist operationsconcurrently within the group and in time-overlapping fashion relativeto other groups provides additional flexibility to choose the mosttime-efficient approach for a given IC's megamodule layout.

Although providing a replacement instruction pair for each instructionwill allow for leaving any instruction in effect after a TAP has beendisabled, a single instruction can be defined to select the TLMI ifdesired. When using a single TLM select instruction, the TAP cannotmaintain the effect of a specific instruction on the IC when the TLNI isaccessed.

The TAP linking approach described herein could be accomplished on asubstrate (e.g. multichip module or board) comprising individualcircuits (e.g. die or IC), each having a TAP with externally accessibleselect and enable signals corresponding to SEL1-4 and EN1-4. Alsorequired on the substrate would be a TLM circuit (e.g. die or IC).Further, to support the plural TAP linking scheme of FIG. 5, multiplexercircuits (e.g. die or IC) would be required on the TDI inputs of some orall of the TAP'ed circuits.

Although exemplary embodiments of the present invention are describedabove, this description does not limit the scope of the invention, whichcan be practiced in a variety of embodiments.

1. An integrated circuit, comprising: A. a test bus of signals that include a test data in lead, a test data out lead, a test clock lead, and a test mode select lead; B. target circuits; C. test interfaces, each test interface includes a state machine coupled with an instruction register and a data register, the data register being connected with one of the target circuits, each test interface is coupled to the test bus and is connected to one of the target circuits, and each test interface has a select output; D. a shift register separate from the test interfaces; and E. selection circuitry connected to the select outputs and coupled with the shift register to selectively couple the shift register with the test bus.
 2. The integrated circuit of claim 1 in which each test interface is connected to the test data in lead, the test clock lead, and the test mode select lead, and is selectively coupled to the test data output.
 3. The integrated circuit of claim 1 including a test access port linking module that includes the shift register and selection circuitry, the linking module including a separate enable output connected to each test interface.
 4. The integrated circuit of claim 1 in which the shift register is a two bit register.
 5. The integrated circuit of claim 1 including a state machine separate from the test interfaces and coupled with the test bus, the shift register, and the selection circuitry.
 6. The integrated circuit of claim 1 including a first test access port controller including a state machine and having control outputs coupled to the shift register, and in which each of the test interfaces include a test access port controller including a state machine, the test access port controllers of the test interfaces being separate from the first test access port controller.
 7. The integrated circuit of claim 1 in which the shift register includes a serial input connected to the test data in lead.
 8. The integrated circuit of claim 1 including a first test access port controller including a state machine and having control outputs coupled to the shift register and in which each of the test interfaces include a test access port controller including a state machine, the test access port controllers of the test interfaces being separate from the first test access port controller, the first test access port controller being connected to the selection circuitry. 